What is recursion?
Recursion is a type of divide and conquor method for problem solving. The function executes at least one time. In the program, there is what is called a base case, which is the condition where the function ceases to call it self. The base case has a condition attached to it which, when it becomes true, will terminate the recursion. If that condition is not true, the recursive function will be called until that base case is reached.
A few important points...
-You must ensure that progress towards the base case will be reached, otherwise you will wind up coding a non-terminating program.
-You may have multiple calls to the recursive program in the loop. For example if you are working on a tree problem, there are multiple paths down the tree one can take. So, one recursive call for each branch would be needed.
-You also may have more than one base case.